package com.xd.center.api;

import com.xd.center.api.bean.*;
import com.xd.center.api.bean.request.*;
import com.xd.center.api.bean.response.EvaluateRs;
import com.xd.center.api.bean.response.SmartApiRs;
import com.xd.center.http.annotation.HttpClient;
import com.xd.center.http.annotation.HttpHeader;
import com.xd.center.http.annotation.HttpLine;
import com.xd.center.http.annotation.HttpParam;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@HttpClient("api")
public interface SmartApi {
  @HttpHeader
  @HttpLine(value = "/api/R131V3Service?key={key}")
  SmartApiRs R131V3Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R143Service?key={key}")
  SmartApiRs R143Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R144Service?key={key}")
  SmartApiRs R144Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R146V2Service?key={key}")
  SmartApiRs R146V2Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R147V2Service?key={key}")
  SmartApiRs R147V2Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R148V2Service?key={key}")
  SmartApiRs R148V2Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R149Service?key={key}")
  SmartApiRs R149Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R150Service?key={key}")
  SmartApiRs R150Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R151Service?key={key}")
  SmartApiRs R151Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R152Service?key={key}")
  SmartApiRs R152Service(HashMap rq, @HttpParam("key") String key);


  @HttpHeader
  @HttpLine(value = "/api/R153Service?key={key}")
  SmartApiRs R153Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R154Service?key={key}")
  SmartApiRs R154Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R155Service?key={key}")
  SmartApiRs R155Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R157Service?key={key}")
  SmartApiRs R157Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R158Service?key={key}")
  SmartApiRs R158Service(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/R159Service?key={key}")
  SmartApiRs R159Service(HashMap rq, @HttpParam("key") String key);


  @HttpHeader
  @HttpLine(value = "/api/getCommunityInfoByIdService?key={key}")
  SmartApiRs<DefaultRs> getCommunityInfoByIdService(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/communityCompositeScore?key={key}")
  SmartApiRs communityCompositeScore(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/liquidity/communityScore?key={key}")
  SmartApiRs liquidityCommunityScore(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/surrounding/communityScore?key={key}")
  SmartApiRs surroundingCommunityScore(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/qualityGrade/communityScore?key={key}")
  SmartApiRs qualityGradeCommunityScore(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/factor/communityScore?key={key}")
  SmartApiRs factorCommunityScore(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/getPoiByCommunityService?key={key}")
  SmartApiRs getPoiByCommunityService(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/evaluate?key={key}")
  SmartApiRs evaluate(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/nowHouseIndex?key={key}")
  SmartApiRs nowHouseIndex(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/getCommSurroundingPrice?key={key}")
  SmartApiRs getCommSurroundingPrice(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/showNewStandardPriceByDistrictCode?key={key}")
  SmartApiRs showNewStandardPriceByDistrictCode(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/communityRate?key={key}")
  SmartApiRs communityRate(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/splitAddress?key={key}")
  SmartApiRs splitAddress(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/splitAddressBybaidu?key={key}")
  SmartApiRs splitAddressBybaidu(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/enterpriseLandInformation?key={key}")
  SmartApiRs enterpriseLandInformation(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/saleForPage?key={key}")
  SmartApiRs saleForPage(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/listingForPage?key={key}")
  SmartApiRs listingForPage(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/secondHousePriceIndex?key={key}")
  SmartApiRs secondHousePriceIndex(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/xdCommSaleCount?key={key}")
  SmartApiRs xdCommSaleCount(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/collateralPriceIndex?key={key}")
  SmartApiRs collateralPriceIndex(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/likeSplitAddress?key={key}")
  SmartApiRs likeSplitAddress(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/sfHouseBatchUpdate?key={key}")
  SmartApiRs sfHouseBatchUpdate(List rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/sfHouseBatchQuery?key={key}")
  SmartApiRs sfHouseBatchQuery(HashMap rq, @HttpParam("key") String key);

  @HttpHeader
  @HttpLine(value = "/api/queryByHouseId?key={key}")
  SmartApiRs queryByHouseId(HashMap rq, @HttpParam("key") String key);
}